package beans;

import java.util.Calendar;
import java.util.Map;
import java.util.Set;

public class Foglalas {

	private long id;
	private long rowVersion;
	private String foglalasKod;
	private String elrendezes;
	private String megjegyzes;
	private long foglaloId;
	private Foglalo foglalo;
	private long teremId;
	private Terem terem;
	private long tipusId;
	private Tipus tipus;
	private Calendar fromDate;
	private Calendar toDate;
	private String foglalasNev;
	private Map<Eszkoz, Integer> eszkozok;

	private Set<Eszkoz> deletedEszkoz;
	private Map<Eszkoz, Integer> newEszkoz;

	private Long FoglalasiAr;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public long getRowVersion() {
		return rowVersion;
	}

	public void setRowVersion(long rowVersion) {
		this.rowVersion = rowVersion;
	}

	public String getFoglalasKod() {
		return foglalasKod;
	}

	public void setFoglalasKod(String foglalasKod) {
		this.foglalasKod = foglalasKod;
	}

	public String getElrendezes() {
		return elrendezes;
	}

	public void setElrendezes(String elrendezes) {
		this.elrendezes = elrendezes;
	}

	public String getMegjegyzes() {
		return megjegyzes;
	}

	public void setMegjegyzes(String megjegyzes) {
		this.megjegyzes = megjegyzes;
	}

	public long getFoglaloId() {
		return foglaloId;
	}

	public void setFoglaloId(long foglaloId) {
		this.foglaloId = foglaloId;
	}

	public Foglalo getFoglalo() {
		return foglalo;
	}

	public void setFoglalo(Foglalo foglalo) {
		this.foglalo = foglalo;
	}

	public long getTeremId() {
		return teremId;
	}

	public void setTeremId(long teremId) {
		this.teremId = teremId;
	}

	public Terem getTerem() {
		return terem;
	}

	public void setTerem(Terem terem) {
		this.terem = terem;
	}

	public long getTipusId() {
		return tipusId;
	}

	public void setTipusId(long tipusId) {
		this.tipusId = tipusId;
	}

	public Tipus getTipus() {
		return tipus;
	}

	public void setTipus(Tipus tipus) {
		this.tipus = tipus;
	}

	public Calendar getFromDate() {
		return fromDate;
	}

	public void setFromDate(Calendar fromDate) {
		this.fromDate = fromDate;
	}

	public Calendar getToDate() {
		return toDate;
	}

	public void setToDate(Calendar toDate) {
		this.toDate = toDate;
	}

	public String getFoglalasNev() {
		return foglalasNev;
	}

	public void setFoglalasNev(String foglalasNev) {
		this.foglalasNev = foglalasNev;
	}

	public Map<Eszkoz, Integer> getEszkozok() {
		return eszkozok;
	}

	public void setEszkozok(Map<Eszkoz, Integer> eszkozok) {
		this.eszkozok = eszkozok;
	}

	public Set<Eszkoz> getDeletedEszkoz() {
		return deletedEszkoz;
	}

	public void setDeletedEszkoz(Set<Eszkoz> deletedEszkoz) {
		this.deletedEszkoz = deletedEszkoz;
	}

	public Map<Eszkoz, Integer> getNewEszkoz() {
		return newEszkoz;
	}

	public void setNewEszkoz(Map<Eszkoz, Integer> newEszkoz) {
		this.newEszkoz = newEszkoz;
	}

	public Long getFoglalasiAr() {
		return FoglalasiAr;
	}

	public void setFoglalasiAr(Long foglalasiAr) {
		FoglalasiAr = foglalasiAr;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((FoglalasiAr == null) ? 0 : FoglalasiAr.hashCode());
		result = prime * result
				+ ((deletedEszkoz == null) ? 0 : deletedEszkoz.hashCode());
		result = prime * result
				+ ((elrendezes == null) ? 0 : elrendezes.hashCode());
		result = prime * result
				+ ((eszkozok == null) ? 0 : eszkozok.hashCode());
		result = prime * result
				+ ((foglalasKod == null) ? 0 : foglalasKod.hashCode());
		result = prime * result
				+ ((foglalasNev == null) ? 0 : foglalasNev.hashCode());
		result = prime * result + ((foglalo == null) ? 0 : foglalo.hashCode());
		result = prime * result + (int) (foglaloId ^ (foglaloId >>> 32));
		result = prime * result
				+ ((fromDate == null) ? 0 : fromDate.hashCode());
		result = prime * result + (int) (id ^ (id >>> 32));
		result = prime * result
				+ ((megjegyzes == null) ? 0 : megjegyzes.hashCode());
		result = prime * result
				+ ((newEszkoz == null) ? 0 : newEszkoz.hashCode());
		result = prime * result + (int) (rowVersion ^ (rowVersion >>> 32));
		result = prime * result + ((terem == null) ? 0 : terem.hashCode());
		result = prime * result + (int) (teremId ^ (teremId >>> 32));
		result = prime * result + ((tipus == null) ? 0 : tipus.hashCode());
		result = prime * result + (int) (tipusId ^ (tipusId >>> 32));
		result = prime * result + ((toDate == null) ? 0 : toDate.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Foglalas other = (Foglalas) obj;
		if (FoglalasiAr == null) {
			if (other.FoglalasiAr != null)
				return false;
		} else if (!FoglalasiAr.equals(other.FoglalasiAr))
			return false;
		if (deletedEszkoz == null) {
			if (other.deletedEszkoz != null)
				return false;
		} else if (!deletedEszkoz.equals(other.deletedEszkoz))
			return false;
		if (elrendezes == null) {
			if (other.elrendezes != null)
				return false;
		} else if (!elrendezes.equals(other.elrendezes))
			return false;
		if (eszkozok == null) {
			if (other.eszkozok != null)
				return false;
		} else if (!eszkozok.equals(other.eszkozok))
			return false;
		if (foglalasKod == null) {
			if (other.foglalasKod != null)
				return false;
		} else if (!foglalasKod.equals(other.foglalasKod))
			return false;
		if (foglalasNev == null) {
			if (other.foglalasNev != null)
				return false;
		} else if (!foglalasNev.equals(other.foglalasNev))
			return false;
		if (foglalo == null) {
			if (other.foglalo != null)
				return false;
		} else if (!foglalo.equals(other.foglalo))
			return false;
		if (foglaloId != other.foglaloId)
			return false;
		if (fromDate == null) {
			if (other.fromDate != null)
				return false;
		} else if (!fromDate.equals(other.fromDate))
			return false;
		if (id != other.id)
			return false;
		if (megjegyzes == null) {
			if (other.megjegyzes != null)
				return false;
		} else if (!megjegyzes.equals(other.megjegyzes))
			return false;
		if (newEszkoz == null) {
			if (other.newEszkoz != null)
				return false;
		} else if (!newEszkoz.equals(other.newEszkoz))
			return false;
		if (rowVersion != other.rowVersion)
			return false;
		if (terem == null) {
			if (other.terem != null)
				return false;
		} else if (!terem.equals(other.terem))
			return false;
		if (teremId != other.teremId)
			return false;
		if (tipus == null) {
			if (other.tipus != null)
				return false;
		} else if (!tipus.equals(other.tipus))
			return false;
		if (tipusId != other.tipusId)
			return false;
		if (toDate == null) {
			if (other.toDate != null)
				return false;
		} else if (!toDate.equals(other.toDate))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "Foglalas [id=" + id + ", rowVersion=" + rowVersion
				+ ", foglalasKod=" + foglalasKod + ", elrendezes=" + elrendezes
				+ ", megjegyzes=" + megjegyzes + ", foglaloId=" + foglaloId
				+ ", foglalo=" + foglalo + ", teremId=" + teremId + ", terem="
				+ terem + ", tipusId=" + tipusId + ", tipus=" + tipus
				+ ", fromDate=" + fromDate + ", toDate=" + toDate
				+ ", foglalasNev=" + foglalasNev + ", eszkozok=" + eszkozok
				+ ", deletedEszkoz=" + deletedEszkoz + ", newEszkoz="
				+ newEszkoz + ", FoglalasiAr=" + FoglalasiAr + "]";
	}

}
